Slicing problem

Slicing problem

>>> url=raw_input("Enter a URL:")
Enter a URL:http://www.chinaunix.net
>>> domain=url[11:-4]
>>> print domain
chinaunix
>>> url=[raw_input("Enter a URL:")]
Enter a URL:http://www.chinaunix.net
>>> domain=url[11:-4]
>>> print domain
[]

为什么?
>>> test='1234'
>>> test[0:4]
'1234'
>>> test=['1234']
>>> test[0:4]
['1234']

两种赋值到底有什么样的区别呢?这里能显示,上面的例子中为什么不可以呢?
挂在这里长期求解吧。
test = '1234' ,   构造了一个字符串 (StringType),  test[0:4]是对字符串进行slice
test = ['1234'],  构造了一个列表 (ListType) , test[0:4]是对list进行slice

区别在于,
'1234'的长度为4
['1234']长度为1

体现在slice时,
字符串test = '1234', test[0]='1' , test[1]='2', test[2]='3', test[3]='4'
list, test=['1234'], test[0] = '1234', test[1]起会抛出IndexError

所以,
test = '1234', test[0:] = '1234'
test = ['1234'], test[0:] = ['1234'], test[1:]=[]


同理,
url = domain[0][11:-4] 才能得到想要的字符串值


呵呵,只是我的看法,不知道有用没有,可以讨论一下的
啊~茅塞顿开啊~呵呵,下来弄个试验报告,做个list和string的区别讨论贴。感谢LS的兄弟。