7
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đã tìm kiếm một chủ đề có liên quan về cách làm điều này nhưng tôi không thể tìm thấy bất cứ điều gì.
Tôi có một mảng:
x = [a,a,a,b,a,a]
Tôi muốn sao chép các phần tử của mảng vào một mảng mới cho đến khi tôi tìm thấy 'B'. Tôi đã cố gắng làm điều này với một vòng lặp nhưng tôi gặp lỗi rằng "y không được xác định", tôi đã thử khởi tạo y nhưng điều đó cũng không hoạt động. Bất kỳ ý tưởng? Tôi chắc chắn có một cách tốt hơn để làm điều này.
for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
Hỏi ngày 5 tháng 8 năm 2016 lúc 12:58Aug 5, 2016 at 12:58
2
Thử cái này:
x = [1,1,1,2,1,1]
b = 2
try:
y = x[:x.index[b]]
except ValueError:
y = x[:]
Ví dụ:
In [10]: x = [1,1,1,2,1,1]
...: b = 2
...:
...: try:
...: y = x[:x.index[b]]
...: except ValueError:
...: # b was not found in x. Just copy the whole thing.
...: y = x[:]
...:
In [11]: y
Out[11]: [1, 1, 1]
Xem list.index[]
và lát sao chép nông để biết thêm thông tin.
Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:04Aug 5, 2016 at 13:04
Sẽ sẽWill
23.2K13 Huy hiệu vàng93 Huy hiệu bạc105 Huy hiệu đồng13 gold badges93 silver badges105 bronze badges
y = []
for e in x:
if e == 2:
break
y.append[e]
?
Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:02Aug 5, 2016 at 13:02
3
Bạn có thể sử dụng
for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
0:>>> x = [1,1,1,2,1,1]
>>> import itertools
>>> y = list[itertools.takewhile[lambda i: i != 2, x]]
>>> y
[1, 1, 1]
Khi sử dụng một vòng lặp, bạn phải sử dụng
for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
1; Nếu bạn làm for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
2, thì bạn sẽ nhận được for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
3 khi bạn cố gắng đặt ví dụ: Phần tử đầu tiên của một mảng có các phần tử bằng không. Ngoài ra, khi bạn lặp như thế này for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
4 thì for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
5 đã là yếu tố từ for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
6, tức là bạn không phải làm for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
7. Trong trường hợp của bạn, điều này không đưa ra một ngoại lệ, vì for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
8 sẽ là một yếu tố hợp lệ của for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
6, nhưng nó sẽ không phải là những gì bạn mong đợi.Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:04Aug 5, 2016 at 13:04
tobias_ktobias_ktobias_k
Sẽ sẽ11 gold badges115 silver badges173 bronze badges
23.2K13 Huy hiệu vàng93 Huy hiệu bạc105 Huy hiệu đồnggenerator expression:
x = ['a', 'a', 'a', 'b', 'a', 'a']
items = list[next[iter[[]]] if item == 'b' else item for item in x]
print items
['a', 'a', 'a']
?Aug 5, 2016 at 13:12
Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:02Andriy Ivaneyko
Bạn có thể sử dụng
0:5 gold badges55 silver badges78 bronze badgesfor ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
4
Khi sử dụng một vòng lặp, bạn phải sử dụng
for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
1; Nếu bạn làm for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
2, thì bạn sẽ nhận được for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
3 khi bạn cố gắng đặt ví dụ: Phần tử đầu tiên của một mảng có các phần tử bằng không. Ngoài ra, khi bạn lặp như thế này for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
4 thì for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
5 đã là yếu tố từ for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
6, tức là bạn không phải làm for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
7. Trong trường hợp của bạn, điều này không đưa ra một ngoại lệ, vì for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
8 sẽ là một yếu tố hợp lệ của for ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
6, nhưng nó sẽ không phải là những gì bạn mong đợi.>>> x = ['a','a','a','b','a','a']
>>> c = x.index['b']
>>> x[:c]
['a', 'a', 'a']
>>> x[c:]
['b', 'a', 'a']
79.6K11 Huy hiệu vàng115 Huy hiệu bạc173 Huy hiệu đồngAug 5, 2016 at 13:20
Cách để hoàn thành công việc với biểu thức máy phát:tokhi
Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:1223 gold badges91 silver badges105 bronze badges
1
Andriy Ivaneykoandriy Ivaneyko
>>> x = ['a','a','a','b','a','a']
>>> s = slice[x.index['b']]
>>>
>>> x[s]
['a', 'a', 'a']
?Aug 5, 2016 at 13:12
Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:02Iron Fist
Bạn có thể sử dụng
0:2 gold badges17 silver badges32 bronze badgesfor ii in x:
if x[ii].find[num] == 0:
break
else:
y[ii] = x[ii]
2